package com.zenchn.dao;

import com.zenchn.entity.VisitCountBO;
import com.zenchn.generic.GenericDao;
import com.zenchn.model.TMiCustomerVisit;
import com.zenchn.model.TMiCustomerVisitExample;

import java.time.LocalDate;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface TMiCustomerVisitMapper extends GenericDao<TMiCustomerVisit,String,TMiCustomerVisitExample> {
    long countByExample(TMiCustomerVisitExample example);

    int deleteByExample(TMiCustomerVisitExample example);

    int deleteByPrimaryKey(String visitId);

    int insert(TMiCustomerVisit record);

    int insertSelective(TMiCustomerVisit record);

    List<TMiCustomerVisit> selectByExample(TMiCustomerVisitExample example);

    TMiCustomerVisit selectByPrimaryKey(String visitId);

    int updateByExampleSelective(@Param("record") TMiCustomerVisit record, @Param("example") TMiCustomerVisitExample example);

    int updateByExample(@Param("record") TMiCustomerVisit record, @Param("example") TMiCustomerVisitExample example);

    int updateByPrimaryKeySelective(TMiCustomerVisit record);

    int updateByPrimaryKey(TMiCustomerVisit record);

    VisitCountBO getCustomerVisit(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("accountId")String accountId);
}
